Sebetulnya jawaban diatas kurang tepat, karena parseInt() ga bisa digunakan kalau angkanya desimal.

Jadi kalau pakai code diatas dan prompt valuenya 7.5 + 7.5 hasilnya 14, karena parseInt(7.5) = 7.

Lebih baik pakai Number()

<pre> var a = prompt("Ketikkan angka saja:"); // Misal kita ketik: 7.5 var b = prompt("Ditambah dengan:"); // Lalu misalnya kita juga ketik : 7.5 var hasil = alert(Number(a) + Number(b)); // Hasilnya 15 </pre>
0
avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 5 tahun yang lalu

Selain parseInt dan Number, ada juga parseFloat, + (unary operator), dan banyak lagi cara untuk mengubah tipe data string menjadi angka. Salah satu perbedaan pada Number dengan parseFloat adalah kalau kita mengawali input dengan angka lalu setelah angka ada huruf, maka parseFloat akan mengabaikan huruf tersebut. Contoh:

<pre> var a = prompt("Ketikkan angka saja:"); // Misal kita ketik: 7.5px var b = prompt("Ditambah dengan:"); // Lalu misalnya kita juga ketik : 7.5px var hasil = alert(parseFloat(a) + parseFloat(b)); // Akan menampilkan hasil: 15 </pre> Sedangkan jika kita menggunakan Number, maka akan menganggapnya NaN (not a number).

Di lain hal, jika kita menginputkan kosong (tidak ada angka), Number menganggap itu 0 (nol), sedangkan parseFloat akan menganggap itu NaN (not a number).

Menggunakan Number sama saja dengan menggunakan unary +. <img src=' https://flaviocopes.com/how-to-convert-string-to-number-javascript/performance.png '> Masing masing ada kelebihan dan kekurangan, tergantung kebutuhannya.
